#pragma once

#include <time.h>
#include <vector>
#include <string>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <graphics.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")        // 播放音频

using namespace std;

/*
功能：窗口居中
参数：hWnd-窗口句柄
*/
void myCenterWindow(HWND hWnd);

/*
功能：得到某范围内的随机整数
参数：min - 最小值
     max - 最大值
返回：某范围内的随机整数
*/
int myRandom(int min, int max);

/*
功能：定时器
参数：interval - 延时间隔（毫秒）
     id - 编号 (0-max)
返回：true-已到时，false-未到时
*/
bool myTimer(int interval, int id);

/*
功能：播放音频
参数：fileName - 音频文件
     repeat - 是否循环播放（true-循环，false-不循环）
返回：无
*/
void myPlayAudio(const string& fileName, bool repeat = false);

/*
功能：判断某键是否被按下
参数：keyCode - 键值
返回：true-按下，false-未按下
*/
bool myKeyDown(int keyCode);

/*
功能：判断两个矩形是否相交
参数：x1 - 第一个矩形的左上角X坐标
     y1 - 第一个矩形的左上角Y坐标
     w1 - 第一个矩形的宽度
     h1 - 第一个矩形的高度
     x2 - 第二个矩形的左上角X坐标
     y2 - 第二个矩形的左上角Y坐标
     w2 - 第二个矩形的宽度
     h2 - 第二个矩形的高度
返回：true-相交，false-不相交
*/
bool myRectIntersectRect(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2);

/*
功能：绘制透明图片
参数：dstX - 目的X坐标
     dstY - 目的Y坐标
     pSrcImg - 源图像指针
     winWidth - 窗口宽度（判断图片位置是否超出窗口范围，不录则默认为0，表示该参数不用）
     winHeight - 窗口高度（判断图片位置是否超出窗口范围，不录则默认为0，表示该参数不用）
返回：无
*/
void myDrawImage(int dstX, int dstY, IMAGE* pSrcImg, int winWidth = 0, int winHeight = 0);

/*
功能：绘制字符串
参数：text - 字符串内容
     x - X坐标
     y - Y坐标
返回：无
*/
void myDrawString(int x, int y, const string& text);
#pragma once
